package net.sxnic.ugr.role;

import java.util.ArrayList;
import java.util.List;

import net.sxnic.ugr.group.Group;
import net.sxnic.ugr.user.User;

/**
 * 代表一个用户或组的角色的Transfer Object。 因为有一些角色可能代表很多种角色的集合，所以需要有这样一个类
 * 处理这种问题。还有就是方便taglib的使用
 * 
 * @author 曹浩
 */
public class UserGroupRole {

	private User user;

	private Group group;

	private List<String> roles;

	public UserGroupRole() {
		roles = new ArrayList<String>();
	}

	public UserGroupRole(User user) {
		this();
		this.user = user;
	}

	public UserGroupRole(Group group) {
		this();
		this.group = group;
	}

	/**
	 * @return Returns the group.
	 */
	public Group getGroup() {
		return group;
	}

	/**
	 * @param group
	 *            The group to set.
	 */
	public void setGroup(Group group) {
		this.group = group;
	}

	/**
	 * @return Returns the user.
	 */
	public User getUser() {
		return user;
	}

	/**
	 * @param user
	 *            The user to set.
	 */
	public void setUser(User user) {
		this.user = user;
	}

	public void addRole(Role role) {
		roles.add(role.getRole());
	}

	public List<String> getRoles() {
		return roles;
	}
}